package javase.annotations.annotated;

import javase.annotations.runtime.FieldRuntime;
import javase.annotations.runtime.MethodRuntime;
import javase.annotations.runtime.TypeClassMarker;
import javase.annotations.runtime.TypeRuntimeInherited;
import javase.annotations.runtime.TypeRuntime;
import javase.annotations.runtime.markers.MethodRuntimeMarker;
import javase.annotations.runtime.markers.TypeRuntimeMarker;
import javase.annotations.source.TypeSource;

@TypeClassMarker
@TypeSource
@TypeRuntimeMarker
@TypeRuntime(name="TestAnnotatedClass")
@TypeRuntimeInherited
public class AnnotatedParent {
	@SuppressWarnings("unused")
	@FieldRuntime(fieldNumber = 1, fieldDescription = "First test string field.")
	private String firstField;
	
	@SuppressWarnings("unused")
	@FieldRuntime(fieldNumber = 2, fieldDescription = "Second test long field.")
	private long secondField;
	
	@MethodRuntimeMarker
	@MethodRuntime(methodDescription="Test method for testing method-level annotation.")
	public void doSomething() {
		System.out.println("doSomething call was performered.");
	}
}
